package com.example.joblinker.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.joblinker.dto.CompanyDTO;
import com.example.joblinker.vo.CompanyVO;

public interface CompanyService {

    /**
     * 创建公司
     */
    CompanyVO createCompany(CompanyDTO companyDTO, Long userId);

    /**
     * 获取公司详情
     */
    CompanyVO getCompanyDetail(Long id);

    /**
     * 获取公司列表
     */
    Page<CompanyVO> getCompanyList(Integer page, Integer size);

    /**
     * 更新公司信息
     */
    CompanyVO updateCompany(Long id, CompanyDTO companyDTO, Long userId);

    /**
     * 根据用户ID获取关联的公司信息
     */
    CompanyVO getCompanyByUserId(Long userId);

    /**
     * 获取公司发布的职位
     *
     * @param companyId 公司ID
     * @param status 职位状态，可为null
     * @param page 页码
     * @param size 每页大小
     * @return 职位分页数据
     */
    Page<com.example.joblinker.vo.JobVO> getCompanyJobs(Long companyId, Integer status, Integer page, Integer size);
} 